The rapid advance in computer-based communications systems, such as the public Internet and private Intranet, has meant that more and more data is being transmitted via this medium. For much of this data, including financial and health records security is extremely important. As a result, considerable development has gone into creating security mechanisms. Concomitant with these developments is the effort by hackers and other system attackers to find ways to break the security mechanisms. One way to reduce attacks is to ensure that users of the system, whether to receive data or to send data, are who they say they are. This has resulted in a range of authentication services being built for network users.
Authentication systems are typically incorporated into computer based communication systems to verify a user's right to access network resources. In a basic application when a user logs into the computer system an authentication process is initiated to verify the identity of the user. A common login process involves the entry of a password. The computer system compares the password with a stored list and, if the entered code matches the stored list, access is authorized. Conversely, if there is no match authentication is denied.
Basic password systems, although sufficient for low security related applications, do not provide the level of security needed for more sensitive transmissions. The password may be stolen or may be replicated using a trial and error or dictionary approach.
Other authentication services such as biometric schemes i.e. iris scanning, use multiple factors to authenticate users as when using smart cards.
In a distributed system in which there are multiple servers and multiple authentication schemes it has been difficult to create a system which meets all the needs. For example, various applications may be running on different network elements and network management platforms wherein there is a need to provide identification and subsequently authentication of end user operators in order to perform access control to the network infrastructure. One solution consists of delegating the authentication to a third party entity so that the “a-priori” untrusted operator cannot fake the authentication process. In other cases the authentication policy is implemented on a per-application basis so that the operator needs to authenticate against different authentication mechanisms. This typically means that the mechanism used to achieve user authentication must rely on distributed devices that cannot be accessed directly using classical on the wire protocols.
An example of a prior art authentication systems is discussed in a Sun White paper entitled “Making Log In Services Independent of Authentication Technologies” by Samar and Lie. This paper describes a system wherein the authentication policy is enforced on the machine hosting the user to be authenticated. The solution makes use of a pluggable authentication module (PAM) to switch from one authentication backend to another. Using this mechanism the overall authentication process takes place locally at the user's work station. Since it does not make use of a trusted third party entity this solution does not fit in a general use case where the host is not trusted.
A second prior art solution is described in a technical white paper dated March 2003 entitled “Sun One Identity Server Overview”. This solution makes use of a dedicated authentication server which allows a dedicated application server to handle incoming authenticated requests. The server maintains a trusted relationship with the user.
A similar system is described in U.S. Pat. No. 6,510,236 which relates to an authentication framework for managing authentication results from multiple authentication devices. For each type of authentication device a device authentication server verifies that the data is acceptable.
These solutions generally solve the security issues inherent in the first prior art solution. However the solutions are not sufficiently flexible to handle a wide range of authentication schemes that could potentially be distributed across various elements of the network. In addition, these mechanisms and in particular that taught in the first prior art may be subject to tampering by an attacker.